﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ContaTelefone.Entities;
using ContaTelefone.Process;

namespace ContaTelefone
{
    public partial class frmNUMEROSEdit : Form
    {
        bool novo;
        NumerosTelEntities objEtt;
        NumerosTelProcess ccP = new NumerosTelProcess();

        public frmNUMEROSEdit(NumerosTelEntities pobjEtt)
        {
            InitializeComponent();
            try
            {
                novo = (pobjEtt == null);

                if (novo)
                    objEtt = new NumerosTelEntities();
                else
                    objEtt = pobjEtt;

                CCustoProcess ccp = new CCustoProcess();
                cmbCCus.DisplayMember = "Descricao";
                cmbCCus.ValueMember = "Codigo";
                cmbCCus.DataSource = ccp.Listar();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Erro");
            }
        }

        private void btnFechar_Click(object sender, EventArgs e)
        {
            this.Close();
            this.Dispose();
        }

        private void btnSalvar_Click(object sender, EventArgs e)
        {
            if (txtTelefone.Text == string.Empty)
            {
                MessageBox.Show("Campo Obrigatório: 'Código'");
                return;
            }
            if (txtNome.Text == string.Empty)
            {
                MessageBox.Show("Campo Obrigatório: 'Descrição'");
                return;
            }
            if (txtemail.Text == string.Empty)
            {
                MessageBox.Show("Campo Obrigatório: 'e-Mail'");
                return;
            }
            decimal valor;

            if (decimal.TryParse("0" + txtValorAssinatura.Text, out valor))
                objEtt.ASSINATURA = valor;
            else
            {
                MessageBox.Show("Valor inválido: 'Valor Assinatura'");
                return;
            }

            if (decimal.TryParse("0" + txtValorDesconto.Text, out valor))
                objEtt.DESCONTO = valor;
            else
            {
                MessageBox.Show("Valor inválido: 'Valor Desconto'");
                return;
            }

            if (decimal.TryParse("0" + txtValor3G.Text, out valor))
                objEtt.DADOS = valor;
            else
            {
                MessageBox.Show("Valor inválido: 'Valor 3G'");
                return;
            }

            if (decimal.TryParse("0" + txtValorBlackBerry.Text, out valor))
                objEtt.BLACKBERRY = valor;
            else
            {
                MessageBox.Show("Valor inválido: 'Valor BlackBerry'");
                return;
            }

            if (decimal.TryParse("0" + txtValorOutros.Text, out valor))
                objEtt.OUTROS = valor;
            else
            {
                MessageBox.Show("Valor inválido: 'Valor Outros'");
                return;
            }

            objEtt.TELEFONE = txtTelefone.Text;
            objEtt.EMAIL = txtemail.Text;
            objEtt.NOME = txtNome.Text;
            objEtt.COD_CCUS = cmbCCus.SelectedValue.ToString();
            objEtt.COBRAR = chkCobrar.Checked;
            objEtt.COBRAR_ASSINATURA = chkAssinatura.Checked;
            objEtt.COBRAR_BLACKBERRY = chkBlackBerry.Checked;
            objEtt.COBRAR_DADOS = chk3G.Checked;
            objEtt.COBRAR_OUTROS = chkOutros.Checked;

            if (novo)
                ccP.Incluir(objEtt);
            else
                ccP.Alterar(objEtt);

            btnFechar_Click(null, null);
        }

        private void frmCliForEdit_Load(object sender, EventArgs e)
        {
            try
            {
                if (objEtt != null)
                {
                    txtTelefone.Text = objEtt.TELEFONE;
                    txtemail.Text = objEtt.EMAIL;
                    txtNome.Text = objEtt.NOME;
                    cmbCCus.SelectedValue = objEtt.COD_CCUS;

                    txtValorAssinatura.Text = objEtt.ASSINATURA.ToString();
                    txtValorDesconto.Text = objEtt.DESCONTO.ToString();
                    txtValor3G.Text = objEtt.DADOS.ToString();
                    txtValorBlackBerry.Text = objEtt.BLACKBERRY.ToString();
                    txtValorOutros.Text = objEtt.OUTROS.ToString();

                    chkCobrar.Checked = objEtt.COBRAR;
                    chkAssinatura.Checked = objEtt.COBRAR_ASSINATURA;
                    chkBlackBerry.Checked = objEtt.COBRAR_BLACKBERRY;
                    chk3G.Checked = objEtt.COBRAR_DADOS;
                    chkOutros.Checked = objEtt.COBRAR_OUTROS;
                }
            }
            catch { }
        }
    }
}
